feat(core): eliminate global styles - #2632
Conversation
🦋 Changeset detectedLatest commit: 39c7048 The changes in this PR will be included in the next version bump. This PR includes changesets to release 7 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
✅ Deploy Preview for ix-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedToo many files! This PR contains 595 files, which is 495 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (771)
📒 Files selected for processing (595)
You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
Code Review
This pull request refactors the styling architecture of the @siemens/ix package by introducing new foundation and legacy utility CSS entry points (siemens-ix-foundation.css and siemens-ix-legacy-utilities.css) to facilitate incremental migration. It also modularizes component styling by moving token defaults from the global theme output into dedicated component *.vars.scss files using local --ix-* custom properties. Additionally, a test button has been added to the ix-playground component. No review comments were provided, so I have no feedback to offer.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
@coderabbitai review |
✅ Action performedReview finished.
|
kathrinschalber
left a comment
There was a problem hiding this comment.
A few things that need to be checked.
There was a problem hiding this comment.
striped style is gone
There was a problem hiding this comment.
[ToDo in Theme generator] Border is not visible anymore -> change token for readonly
There was a problem hiding this comment.
Is correctly set, @silviowolf would it make sense to the ref-token for border-4 in classic theme? it's barely visible....
There was a problem hiding this comment.
how did the input field (color-component-8) change?
There was a problem hiding this comment.
Similar to category filter -> border in readonly/disabled
There was a problem hiding this comment.
Will be fixed via token update
There was a problem hiding this comment.
was this intentional, that the checkbox has no background (anymore)?
There was a problem hiding this comment.
Need to be check if v6 still supports legacy native input element, maybe need deprecation blog/post.
There was a problem hiding this comment.
Textarea (light theme) stayed colored, in contrast to e.g. selects
There was a problem hiding this comment.
Textarea test covers the legacy native components not the ix-textarea. Will maybe be removed with v6
There was a problem hiding this comment.
For 6.0, doublecheck:
- app header background-3
- app menu background-2
There was a problem hiding this comment.
Is already aligend with element. background-1 is correct. Figma needs to be adapted
There was a problem hiding this comment.
Light theme is correct, but in dark theme critical should have a white font as well
There was a problem hiding this comment.
the icon should turn orange too
There was a problem hiding this comment.
Need to be adapted inside input-helper-new.json of the token json
There was a problem hiding this comment.
Shadow on dropdown is not visible (dark mode only)
There was a problem hiding this comment.
Shadow exist also in darkmode, but due the background color change, its not visible anymore
There was a problem hiding this comment.
@silviowolf please validate whether
- border colors should be used for the lines and text for the icons, and
- if we need a better matching color for the selected step (should the dot be also gray?)
PS: Also see the dark version of this: testing/visual-testing/screenshots/tests/workflow-steps/workflow-steps.e2e.ts/workflow-steps-basic-1-chromium---classic-dark-linux.png
There was a problem hiding this comment.
icon is decorative -> change to background tokens
1189b90 to
b31df5f
Compare
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
| @use '../tokens/system' as sys; | ||
|
|
||
| body { | ||
| color: #{sys.$si-sys-text-primary}; |
There was a problem hiding this comment.
how does this change with the theme (e.g. dark/light) if it's a fixed sass variable?
There was a problem hiding this comment.
its interpolation of sass, so no fixed sass variable after build
| @@ -7,7 +7,7 @@ catalog: | |||
| '@axe-core/playwright': ^4.11.0 | |||
| '@esbuild/linux-arm64': 0.27.2 | |||
| '@playwright/test': ^1.58.1 | |||
| '@siemens/ix-icons': ^3.5.0 | |||
| '@siemens/ix-icons': 0.0.0-20260811100620 | |||
There was a problem hiding this comment.
Reminder to go back to released version
|
|
||
| | Before | After | | ||
| | ------------------------------------------ | ------------------------------------ | | ||
| | `--theme-si-sys-text-primary` | `--si-sys-text-primary` | |
There was a problem hiding this comment.
Before it used to be --theme-color-primary etc.
| color: var(--si-sys-text-primary); | ||
| ``` | ||
|
|
||
| The public Sass variable names remain unchanged: |
There was a problem hiding this comment.
This looks like it refers to an intermediary implementation step not the actual migration guide
| @import '@siemens/ix/css/legacy.css'; | ||
| ``` | ||
|
|
||
| Foundation styles document scrollbars automatically. Add `disable-scrollbar` to |
There was a problem hiding this comment.
?
| Foundation styles document scrollbars automatically. Add `disable-scrollbar` to | |
| Foundation styles enable scrollbars automatically. Add `disable-scrollbar` to |




Summary
Migrate Siemens Industrial Experience (iX) to the Siemens Design Language (SDL) foundation, specifically SI Theme 6 system and reference tokens, while improving interoperability with host applications.
This resolves #1398 by preventing the default iX stylesheet from applying the previous native reset and form-control styling across the entire page.
This is Phase 1: foundation tokens, theming architecture, and opt-in global CSS. It does not claim complete SDL/Figma compliance for every component and visual state.
EIX-3
EIX-10
EIX-69
EIX-184
Approach
--si-sys-*and--si-ref-*. The previous--theme-si-*aliases are no longer emitted.--ix-*properties mapped to SI Theme 6 system tokens.--theme-<component>-*aliases. These aliases no longer control migrated iX components.iconColor,itemColor, andNotificationColornow require complete custom-property names, for example--si-sys-text-danger.CSS entry points
@siemens/ix/css/default.css@siemens/ix/css/foundation.css@siemens/ix/css/reset.css@siemens/ix/css/base.css@siemens/ix/css/scrollbar.css[data-ix-scrollbars]@siemens/ix/css/utilities.css@siemens/ix/css/globals.css@siemens/ix/css/legacy.cssApplications that require the previous aggregate behavior can temporarily use:
Included in this PR
--theme-si-*tokens to--si-sys-*and--si-ref-*.--ix-*properties and SI Theme 6 mappings.--theme-<component>-*aliases from standard theme output.BREAKING_CHANGES/v6.md.@siemens/ix,@siemens/ix-aggrid, and@siemens/ix-echarts.--si-sys-background-activeis emitted by the classic themes.Follow-ups
legacy.css, or document an explicit exception.--ix-*mapping against SDL/Figma roles beyond snapshot coverage.Breaking changes
--theme-si-sys-*becomes--si-sys-*.--theme-si-ref-*and--theme-si-classic-ref-*become--si-ref-*.--theme-<component>-*aliases are removed from standard theme output.--ix-*properties.--.getComputedCSSPropertyin@siemens/ix-echartsno longer adds a--theme-prefix.See
BREAKING_CHANGES/v6.mdfor migration examples and replacement entry points.Release impact
@siemens/ix@siemens/ix-echarts@siemens/ix-aggridDefinition of done for this phase
This phase is ready to merge when:
@siemens/ix/css/default.cssthemes iX components without applying the previous native reset and form-control styling.--theme-si-*properties.--ix-*properties.Out of scope
This PR does not claim:
--theme-*common token.